83

Build Your Own Virtual Filing Cabinet

83

STEP 1 continued

Call GetFolderNames(Folder)

If NoData =​ 0 Then

    Call PickFile(FileName)

End If

Application.StatusBar =​ False

End Sub

STEP 2

Sub PickFolder(Folder)

    Dim fldr As FileDialog

    Dim sItem As String

    Set fldr =​ Application.FileDialog(msoFileDialogFolderPicker)

    With fldr

      .Title =​ “Please Select a Folder by clicking (mandatory)”

      .AllowMultiSelect =​ False

      .InitialFileName =​ Application.DefaultFilePath

      If .Show <> -​1 Then GoTo NextCode

      sItem =​ .SelectedItems(1)

    End With

NextCode:

    If (InStr(1, sItem, “\”) < Len(sItem)) Then

      Folder =​ sItem & “\”

    Else

      Folder =​ sItem

    End If

    Set fldr =​ Nothing

End Sub

STEP 3

Sub GetFolderNames2(Folder)

Dim SubFolders As Variant

Dim FileItem As Object

Dim SourceFolder As Object

Dim FolderNames() As String

Call TimeLimit

FolderNameIndex =​ 0

Set SourceFolder =​ FSO.GetFolder(Folder)

If j =​ 0 Then

    For Each FileItem In SourceFolder.Files

      On Error GoTo errorresume

      A =​ FileItem.Name

      j =​ j +​ 1

      Application.StatusBar =​ “ Preparing the computation: Number of rows “ & j &

“ Time is “ & Now

Next

End If

On Error GoTo errorresume

A =​ Dir$(Folder, vbDirectory)

Do While A <> ““